#!/usr/bin/env python3
"""
智能装修设计系统启动文件
"""
import os
from app import create_app, db

# 创建应用实例
app = create_app(os.getenv('FLASK_ENV', 'development'))

@app.shell_context_processor
def make_shell_context():
    """为Flask shell提供上下文"""
    return {
        'db': db,
        'DecorationRequest': db.Model,
        'UploadedFile': db.Model
    }

@app.cli.command()
def init_db():
    """初始化数据库"""
    db.create_all()
    print("数据库初始化完成!")

@app.cli.command()
def reset_db():
    """重置数据库"""
    db.drop_all()
    db.create_all()
    print("数据库重置完成!")

if __name__ == '__main__':
    # 确保上传目录存在
    upload_folder = app.config.get('UPLOAD_FOLDER', 'uploads')
    os.makedirs(upload_folder, exist_ok=True)
    
    # 启动应用 - 在 Windows 上使用 127.0.0.1 避免 DNS 反查卡住
    app.run(
        host='127.0.0.1',
        port=5000,
        debug=app.config.get('DEBUG', False),
        use_reloader=False
    )
